1. Field of the Invention
The present invention generally relates to packet switches, and more particularly to performing arbitration for multicast data packets in a packet switch.
2. Description of Related Art
Modern telecommunication networks include packet switching networks for transmitting data from a source device to a destination device. The packet switching network routes data packets through a network of interconnected packet switches based on destination addresses in the data packets. An individual packet switch in the packet switching network routes data packets from input ports to output ports of the packet switch.
Because the packet switch may receive multiple data packets at the input ports that are destined for the same output port, the packet switch often includes an arbiter that determines an order for routing data packets through the packet switch. The input ports of the packet switch issue grant requests to the arbiter for routing data contained in data packets to the output ports. The arbiter then determines whether the output port identified by each grant request is available to receive data. If an output port identified by a grant request is available to receive data, the arbiter selects a grant request that identifies the output port and issues a grant to the input port that issued the selected grant request. The packet switch then routes data contained in a data packet of each input port that received a grant to the output port identified by the selected grant request issued by the input port.
The arbiter may receive a grant request from an input port for routing a multicast data packet from the input port to multiple output ports. The grant request typically includes a destination address that identifies a multicast group containing the multiple output ports. The arbiter determines whether each output port of the multicast group is available to receive data of the multicast data packet. If each output port of the multicast group is available, the arbiter can select the grant request and issue a grant to the input port that issued the selected grant request. The packet switch then routes the data of the multicast data packet to each output port of the multicast group. Determining whether each output port of the multicast group is available to receive data of a data packet is a time consuming process, which may affect the performance of the packet switch. Moreover, selection of the grant request for the multicast data packet may be delayed indefinitely until each output port of the multicast group is available to receive data of the multicast data packet.
In light of the above, a need exists for reducing the time required for selecting a multicast data packet for routing through a packet switch. A further need exists for reducing the time required for routing a multicast data packet through a packet switch.